home *** CD-ROM | disk | FTP | other *** search
- February 27, 1994
-
- Display mazes in three dimensions on your VGA monitor.
-
- To display a maze with hexagonal rooms, issue the command "HEXAGON".
- You will be prompted for an 8 (or fewer) character random number seed. In
- general, a different random number seed will produce a different maze.
- After the maze is displayed, press S to see the solution. Then press
- (almost) any key to exit. A VGA (or SVGA) graphics card, a VGA (or better)
- monitor, and about 2 megabytes of expanded memory or disk space are needed
- (for virtual memory).
-
- SQUARE.EXE works like HEXAGON.EXE except that it yields mazes with
- square rooms.
-
- All of the Borland C++ 3.0 source code is supplied (with comments). If
- you compile it, use the "large" model. Because VGA3D.CPP uses it, main programs
- must be linked with Borland's GRAPHICS.LIB. See the Borland documentation on
- the utilities BINOBJ and TLIB for information on including EGAVGA.BGI in
- GRAPHICS.LIB.
-
- The following pieces of source code are specific to maze generation:
-
- CELL.* -- Each instance of this class represents a room in a maze.
-
- HEXMAZE.* -- each instance of this class is a maze having hexagonal
- rooms.
-
- HEXAGON.CPP -- the source for HEXAGON.EXE.
-
- SQRMAZE.* -- each instance of this class is a maze having square
- rooms.
-
- SQUARE.CPP -- the source for SQUARE.EXE.
-
- The following pieces may find application in other programs:
-
- ORACLE.* -- Each object derived from this class is a random number
- generator. "random_number()" returns integers uniformly distributed
- between 0 and max_r_n_plus_1-1.
-
- VARRAY.H -- a template for one dimensional virtual arrays; you can
- use expanded memory (or if expanded memory is not available) disk
- space to break the 640K limit in DOS.
-
- TITILLAT.* -- an instance of this class displays a rotating bar to
- let a user know a calculation intensive program is running.
-
- PLOT3D.* -- an abstract class. Classes derived from this class may be
- used to instantiate objects that will plot z=f(x,y) in three
- dimensions. The derived classes must supply the functions
- "aspect_ratio", "display_initialize", "pset", "num_x_pixels",
- "num_y_pixels", and "write_outfile".
-
- VGA3D.* -- a class derived from PLOT3D. It plots z=f(x,y) in three
- dimensions on VGA displays.
-
- SPIKE.CPP demonstrates using VARRAY.H, TITILLAT.*, PLOT3D.*, and VGA3D.*
- to plot a simple mathematical function; SPIKE.EXE is the corresponding
- executable code.
-
- I am the author of all the code in this package. It may be freely
- distributed.
-
- -- James L. Dean
- csvcjld@nomvs.lsumc.edu